# 常见字符串操作 【直接执行看看描述】
# 1.find()
# name.find('家', 1, 10) 其中1是起始位子,【默认起始位置】是0,10是结束位置
name = '我的老家,就在这个的屯,'
print('find() 方法演示')
print('“的”字是存在的,从左往右第一次找到位子是', name.find('的'), sep='-->')
print('从2开始,“的”字是存在的,从左往右第一次找到位子是', name.find('的', 2, 10), sep='-->')
print('“剑”字是不存在的,显示的值是', name.find('剑'), sep='-->')

# 2.index()
# name.index('的', 2, 10) 其中1是起始位子,【默认起始位置】是0,10是结束位置
print('\n'*3)
print('index() 方法演示')
print('“的”字是存在的,从左往右第一次找到位子是', name.index('的'), sep='-->')
print('从2开始,“的”字是存在的,从左往右第一次找到位子是', name.index('的', 2, 10), sep='-->')
# name.index('剑')
print('“剑”字是不存在的,会直接报错,我注释掉了因为报错后面就不执行了')

# 3.count()
# name.count('的', 2, 10) 其中1是起始位子,【默认起始位置】是0,10是结束位置
print('\n'*3)
print('count() 方法演示')
print('“的”字是存在的,出现的次数是', name.count('的'), sep='-->')
print('从2开始,“的”字是存在的,出现的次数是', name.count('的', 2, 10), sep='-->')
print('“剑”字是不存在的,显示的值是', name.count('剑'), sep='-->')

# 4.rfind() 其实就是从右到左查
print('\n'*3)
print('rfind() 方法演示')
print('“的”字是存在的,从右向左第一次找到位子是', name.rfind('的'), sep='-->')
print('从8开始,“的”字是存在的,从右向左第一次找到位子是', name.rfind('的', 0, 8), sep='-->')
print('“剑”字是不存在的,显示的值是,从右向左查看的值', name.rfind('剑'), sep='-->')

# 5.rindex() 其实就是从右到左查
print('\n'*3)
print('rindex() 方法演示')
print('“的”字是存在的,从右向左第一次找到位子是', name.rindex('的'), sep='-->')
print('从8开始,“的”字是存在的,从右向左第一次找到位子是', name.rindex('的', 0, 8), sep='-->')
# name.rindex('剑')
print('“剑”字是不存在的,会直接报错,我注释掉了因为报错后面就不执行了')

# 6.replace() 替换
print('\n'*3)
print('replace() 方法演示')
print('这个方法会替换所有的“的”,现在的值是', name.replace('的', 'my'), sep='-->')
print('这里的1是只替换1个“的”(从左到右),现在的值是', name.replace('的', 'my', 1), sep='-->')

# 7.split() 分割
print('\n'*3)
print('split() 方法演示')
print('有“的”就分“的”,分“的”,“的”字就消失了,这个值是', name.split('的'), sep='-->')
print('有“的”就分“的”,只分第一个“的”这个值是', name.split('的', 1), sep='-->')
print('没有“剑”,分“剑”,这个值是', name.split('剑'), sep='-->')

# 7.join() 合并 其实是个连接
print('\n'*3)
print('join() 方法演示')
list = ['aa', 'bb', 'cc']
print('list合并后', '...'.join(list), sep='---->')

# 9.capitalized() 将第一个字符变大写
say = 'hello,world'
print('\n'*3)
print('capitalized() 方法演示')
print('第一个字符变大写后', say.capitalize(), sep='---->')

# 10.title() 第一个单词的尾字母和第二个单词的首字母连在一起就没法做到
print('\n'*3)
print('title() 方法演示')
print('每个单词第一字符变大写后', say.title(), sep='---->')

# 11.upper()
print('\n'*3)
say = say.upper()
print('upper() 方法演示')
print('所有字母变大写', say, sep='---->')

# 12.lower()
print('\n'*3)
say = say.lower()
print('upper() 方法演示')
print('所有字母变小写', say, sep='---->')

# 13.lstrip()
print('\n'*3)
strl = ' abc '
print('lstrip() 方法演示')
print('删除右侧空白字符', strl.lstrip(), sep='-->', end='<--\n')

# 14.rstrip()
print('\n'*3)
strl = ' abc '
print('rstrip() 方法演示')
print('删除左侧空白字符', strl.rstrip(), sep='-->', end='<--\n')

# 15.strip()
print('\n'*3)
strl = ' abc '
print('strip() 方法演示')
print('删除两侧空白字符', strl.strip(), sep='-->', end='<--\n')

# 16.ljust()
print('\n'*3)
strj = 'abc'
print('ljust() 方法演示')
print('一共10个字符左对齐填充', strj.ljust(10, '.'), sep='-->', end='<--\n')

# 17.rjust()
print('rjust() 方法演示')
print('一共10个字符右对齐填充', strj.rjust(10, '.'), sep='-->', end='<--\n')

# 19.center()
print('center() 方法演示')
print('一共10个字符中间对齐填充', strj.center(10, '.'), sep='-->', end='<--\n')

# 20.startswith()
strw = 'hello,world'
print('startswith() 方法演示')
print(f'“{strw}”开头是hello', strw.startswith('hello'), sep='-->', end='<--\n')

# 21.endswith()
print('endswith() 方法演示')
print(f'“{strw}”结束是hello', strw.endswith('hello'), sep='-->', end='<--\n')

# 22.isalpha() 是否都是字母
stri1 = 'hello,world'
stri2 = 'helloWorld'
print('isalpha() 方法演示')
print(f'“{stri1}”因为有逗号,所以isalpha()的结果是', stri1.isalpha(), sep='-->', end='<--\n')
print(f'“{stri2}”因为没有逗号,所以isalpha()的结果是', stri2.isalpha(), sep='-->', end='<--\n')

# 23.isdigit() 是否都数字
print('isdigit() 方法演示')
stri3 = '123'
stri4 = '123A'
print(f'“{stri3}”是否都数字', stri3.isdigit(), sep='-->', end='<--\n')
print(f'“{stri4}”是否都数字', stri4.isdigit(), sep='-->', end='<--\n')

# 24.isalnum() 是否都是数字或字母
print('isdigit() 方法演示')
stri3 = '123'
stri4 = '123A'
print(f'“{stri3}”是否都是数字或字母', stri3.isalnum(), sep='-->', end='<--\n')
print(f'“{stri4}”是否都是数字或字母', stri4.isalnum(), sep='-->', end='<--\n')

# 24.isspace() 是否都是空格
stri5 ='   '
stri6 ='        '
print(f'“{stri5}”是否都是空格', stri5.isspace(), sep='-->', end='<--\n')
print(f'“{stri6}”是否都是空格', stri6.isspace(), sep='-->', end='<--\n')